<!DOCTYPE html>


<html lang="en">
  

    <head>
      <meta charset="utf-8" />
        
      <meta name="description" content="時光的个人博客" />
      
      <meta
        name="viewport"
        content="width=device-width, initial-scale=1, maximum-scale=1"
      />
	  <meta name="referrer" content="no-referrer" />

      <title> 時光</title>
  <meta name="generator" content="hexo-theme-ayer">
      
      <link rel="shortcut icon" href="/favicon.ico" />
       
<link rel="stylesheet" href="/dist/main.css">

      
<link rel="stylesheet" href="/css/fonts/remixicon.css">

      
<link rel="stylesheet" href="/css/custom.css">
 
      <script src="https://cdn.staticfile.org/pace/1.2.4/pace.min.js"></script>
       
 

      <link
        rel="stylesheet"
        href="https://cdn.jsdelivr.net/npm/@sweetalert2/theme-bulma@5.0.1/bulma.min.css"
      />
      <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.0.19/dist/sweetalert2.min.js"></script>

      <!-- mermaid -->
      
      <style>
        .swal2-styled.swal2-confirm {
          font-size: 1.6rem;
        }
      </style>
    <link rel="alternate" href="/atom.xml" title="時光" type="application/atom+xml">
</head>
  </html>
</html>


<body>
  <div id="app">
    
      
    <main class="content on">
      
<section class="cover">
    
      
      <a class="forkMe" href="https://github.com/Shen-Yu/hexo-theme-ayer"
        target="_blank"><img width="149" height="149" src="/images/forkme.png"
          class="attachment-full size-full" alt="Fork me on GitHub" data-recalc-dims="1"></a>
    
  <div class="cover-frame">
    <div class="bg-box">
      <img src="/images/cover1.jpg" alt="image frame" />
    </div>
    <div class="cover-inner text-center text-white">
      <h1><a href="/">時光</a></h1>
      <div id="subtitle-box">
        
        <span id="subtitle"></span>
        
      </div>
      <div>
        
      </div>
    </div>
  </div>
  <div class="cover-learn-more">
    <a href="javascript:void(0)" class="anchor"><i class="ri-arrow-down-line"></i></a>
  </div>
</section>



<script src="https://cdn.staticfile.org/typed.js/2.0.12/typed.min.js"></script>


<!-- Subtitle -->

  <script>
    try {
      var typed = new Typed("#subtitle", {
        strings: ['面朝大海，春暖花开', '愿你一生努力，一生被爱', '想要的都拥有，得不到的都释怀'],
        startDelay: 0,
        typeSpeed: 200,
        loop: true,
        backSpeed: 100,
        showCursor: true
      });
    } catch (err) {
      console.log(err)
    }
  </script>
  
<div id="main">
  <section class="outer">
  
  
  

<div class="notice" style="margin-top:50px">
    <i class="ri-heart-fill"></i>
    <div class="notice-content" id="broad"></div>
</div>
<script type="text/javascript">
    fetch('https://v1.hitokoto.cn')
        .then(response => response.json())
        .then(data => {
            document.getElementById("broad").innerHTML = data.hitokoto;
        })
        .catch(console.error)
</script>

<style>
    .notice {
        padding: 20px;
        border: 1px dashed #e6e6e6;
        color: #969696;
        position: relative;
        display: inline-block;
        width: 100%;
        background: #fbfbfb50;
        border-radius: 10px;
    }

    .notice i {
        float: left;
        color: #999;
        font-size: 16px;
        padding-right: 10px;
        vertical-align: middle;
        margin-top: -2px;
    }

    .notice-content {
        display: initial;
        vertical-align: middle;
    }
</style>
  
  <article class="articles">
    
    
    
    
    <article
  id="post-为右键菜单添加用XX软件打开的快捷选项"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2023/03/29/%E4%B8%BA%E5%8F%B3%E9%94%AE%E8%8F%9C%E5%8D%95%E6%B7%BB%E5%8A%A0%E7%94%A8XX%E8%BD%AF%E4%BB%B6%E6%89%93%E5%BC%80%E7%9A%84%E5%BF%AB%E6%8D%B7%E9%80%89%E9%A1%B9/"
    >为右键菜单添加用XX软件打开的快捷选项</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2023/03/29/%E4%B8%BA%E5%8F%B3%E9%94%AE%E8%8F%9C%E5%8D%95%E6%B7%BB%E5%8A%A0%E7%94%A8XX%E8%BD%AF%E4%BB%B6%E6%89%93%E5%BC%80%E7%9A%84%E5%BF%AB%E6%8D%B7%E9%80%89%E9%A1%B9/" class="article-date">
  <time datetime="2023-03-29T13:38:55.000Z" itemprop="datePublished">2023-03-29</time>
</a> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E5%B0%8F%E6%8A%80%E8%83%BD/">小技能</a>
  </div>
   
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h1 id="为右键菜单添加用XX软件打开的快捷选项"><a href="#为右键菜单添加用XX软件打开的快捷选项" class="headerlink" title="为右键菜单添加用XX软件打开的快捷选项"></a>为右键菜单添加用XX软件打开的快捷选项</h1><p><img src="https://s1.vika.cn/space/2023/03/29/1577256905f445cf84f3aa1a7ce17fde" alt="image-20230329214529920"></p>
<h2 id="1、在注册表中添加快捷指定"><a href="#1、在注册表中添加快捷指定" class="headerlink" title="1、在注册表中添加快捷指定"></a>1、在注册表中添加快捷指定</h2><p>Win + R 打开运行窗口，输入 <code>regedit</code> 回车打开注册表菜单</p>
<p><img src="https://s1.vika.cn/space/2023/03/29/3f78bc8b9b3b4d0191191f139a5959e4" alt="image-20230329214140888"></p>
<p>找到 <code>HKEY_CLASSES_ROOT\*\shell</code> 目录 </p>
<p>可以看到当前已存在的快捷操作指令，如果想要去除，直接删除对应的目录即可</p>
<p><img src="https://s1.vika.cn/space/2023/03/29/5fc0a36c41d34bcca11e5ab3f4b11528" alt="image-20230329214328416"></p>
<p>在 shell 目录下新建一个项</p>
<p>重命名为你想要显示的名称，例如我要添加Notpad–的打开方式，命名为 Open with Notpad–</p>
<p><img src="https://s1.vika.cn/space/2023/03/29/92c567b2d5d04938a3fdc210edaa4c86" alt="image-20230329214632147"></p>
<p>在新建的项下继续新建一个项，命名为 command</p>
<p>双击command目录下的 默认填写数值数据</p>
<p><img src="https://s1.vika.cn/space/2023/03/29/15dad6df8de6458eb614bd07f915d7b9" alt="image-20230329215112251"></p>
<p>数值数据填写 <code> &quot;应用可执行程序所在位置&quot; &quot;%1&quot;</code>，注意中间有个空格</p>
<p>应用可执行程序所在路径可以通过快捷方式  -&gt; 右键 -&gt; 打开文件所在位置找到可执行程序所在位置</p>
<p>注意左下角有箭头符号的是快捷方式，需要找到不带箭头的可执行程序真正所在位置</p>
<p>如果打开文件所在位置后依然是快捷方式，就继续在该快捷方式上打开文件所在位置</p>
<p><img src="https://s1.vika.cn/space/2023/03/29/5a03216265f247cbb8acbb7914c9abe2" alt="image-20230329221224665"></p>
<p>直到找到没有箭头符号的位置为止，如下图所示</p>
<p><img src="https://s1.vika.cn/space/2023/03/29/7d367a978b6341c29ea3e842a974c592" alt="image-20230329221445384"></p>
<p>例如此处我填写为：<code>&quot;D:\Program Files\Notepad--\Ndd-v2.0.0-插件免安装版\Notepad--.exe&quot; &quot;%1&quot;</code></p>
<p><img src="https://s1.vika.cn/space/2023/03/29/13189c1c4c7b42fe9b82c6e4e1f3da7b" alt="image-20230329215749386"></p>
<p>确定保存后，我们就可以在右键菜单中看到刚才新增的快捷选项，而且功能是正常的</p>
<p><img src="https://s1.vika.cn/space/2023/03/29/0e20944323054c86a2b30abb36df40dc" alt="image-20230329215859858"></p>
<h2 id="2、添加图标"><a href="#2、添加图标" class="headerlink" title="2、添加图标"></a>2、添加图标</h2><p>可以看到其他系统自动添加的快捷菜单前面是有软件图标的，我们也可以为自己设置一下这个图标</p>
<p><img src="https://s1.vika.cn/space/2023/03/29/fb7b195c08b9407eaad665018d3ce03a" alt="image-20230329220027302"></p>
<p>我们找到刚才新建的项，新建一个字符串</p>
<p><img src="https://s1.vika.cn/space/2023/03/29/c699aea125ce42938666992ea2bcbaf3" alt="image-20230329220320961"></p>
<p>将其重命名为 <code>Icon</code></p>
<p><img src="https://s1.vika.cn/space/2023/03/29/db426bde467141b79a467247721c094f" alt="image-20230329220402421"></p>
<p>数值数据填写 <code>&quot;应用可执行程序所在路径&quot;</code></p>
<p>例如：<code>&quot;D:\Program Files\Notepad--\Ndd-v2.0.0-插件免安装版\Notepad--.exe&quot;</code></p>
<p><img src="https://s1.vika.cn/space/2023/03/29/0462f781962445f5a3ef4bf237edd13b" alt="image-20230329220515937"></p>
<p>确定保存后即可看到已经可以正常显示软件图标了</p>
<p><img src="https://s1.vika.cn/space/2023/03/29/6f4d729b7d3040e1a681bcbe7488e77d" alt="image-20230329220732647"></p>
<h2 id="3、懒人软件推荐"><a href="#3、懒人软件推荐" class="headerlink" title="3、懒人软件推荐"></a>3、懒人软件推荐</h2><p>如果你嫌以上步骤麻烦的或也可以使用工具</p>
<p>如果你只是想要去除多余的打开方式，推荐使用 <a target="_blank" rel="noopener" href="https://www.huorong.cn/">火绒</a></p>
<p>如果你想要添加自定义打开方式或更复杂的操作 可使用  <a target="_blank" rel="noopener" href="https://bluepointlilac.github.io/ContextMenuManager/">ContextMenuManager</a></p>
<p>软件使用方法可观看B站Up主 <a target="_blank" rel="noopener" href="https://space.bilibili.com/39337803">痕继痕迹</a>的视频</p>
<blockquote>
<p><a target="_blank" rel="noopener" href="https://www.bilibili.com/video/BV11q4y1o7S5">你的右键菜单还好吗？- 轻松管理右键菜单，去除不需要的内容</a></p>
</blockquote>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/Windows%E6%8A%80%E5%B7%A7/" rel="tag">Windows技巧</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/%E5%8F%B3%E9%94%AE%E8%8F%9C%E5%8D%95/" rel="tag">右键菜单</a></li></ul>

    </footer>
  </div>

    
 
   
  
</article>

    
    <article
  id="post-java替换第N次出现的字符串"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2023/03/28/java%E6%9B%BF%E6%8D%A2%E7%AC%ACN%E6%AC%A1%E5%87%BA%E7%8E%B0%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2/"
    >java替换第N次出现的字符串</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2023/03/28/java%E6%9B%BF%E6%8D%A2%E7%AC%ACN%E6%AC%A1%E5%87%BA%E7%8E%B0%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2/" class="article-date">
  <time datetime="2023-03-28T03:12:24.000Z" itemprop="datePublished">2023-03-28</time>
</a> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E5%A5%BD%E8%AE%B0%E6%80%A7%E4%B8%8D%E5%A6%82%E7%83%82%E7%AC%94%E5%A4%B4/">好记性不如烂笔头</a>
  </div>
   
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h1 id="java替换第N次出现的字符串"><a href="#java替换第N次出现的字符串" class="headerlink" title="java替换第N次出现的字符串"></a>java替换第N次出现的字符串</h1><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">/**</span></span><br><span class="line"><span class="comment">     * 替换第N次出现的字符串</span></span><br><span class="line"><span class="comment">     * <span class="doctag">@param</span> str 指定字符串</span></span><br><span class="line"><span class="comment">     * <span class="doctag">@param</span> find 需要被替换的字符串</span></span><br><span class="line"><span class="comment">     * <span class="doctag">@param</span> nthOccurrence 要被替换的字符串出现的次数</span></span><br><span class="line"><span class="comment">     * <span class="doctag">@param</span> replace 替换的字符串</span></span><br><span class="line"><span class="comment">     * <span class="doctag">@return</span> 替换后的字符串</span></span><br><span class="line"><span class="comment">     */</span></span><br><span class="line">    <span class="keyword">public</span> <span class="keyword">static</span> String <span class="title function_">replaceNth</span><span class="params">(String str, String find, <span class="type">int</span> nthOccurrence, String replace)</span> &#123;</span><br><span class="line">        <span class="type">int</span> <span class="variable">index</span> <span class="operator">=</span> str.indexOf(find);</span><br><span class="line">        <span class="keyword">for</span>(<span class="type">int</span> <span class="variable">i</span> <span class="operator">=</span> <span class="number">1</span>; i &lt; nthOccurrence; i++) &#123;</span><br><span class="line">            index = str.indexOf(find, index + <span class="number">1</span>);</span><br><span class="line">        &#125;</span><br><span class="line"></span><br><span class="line">        <span class="keyword">if</span>(index != -<span class="number">1</span>) &#123;</span><br><span class="line">            str = str.substring(<span class="number">0</span>, index) + replace + str.substring(index + find.length());</span><br><span class="line">        &#125;</span><br><span class="line">        <span class="keyword">return</span> str;</span><br><span class="line">    &#125;</span><br></pre></td></tr></table></figure>

<p>例如我要把第二次出现的张三替换为王富贵</p>
<p><img src="https://s1.vika.cn/space/2023/03/28/e665a747f51c485da4c009e8bad5fed5" alt="image-20230328161748285"></p>
<p>若未匹配到指定字符串则不做处理原样返回</p>
<p><img src="https://s1.vika.cn/space/2023/03/28/40c699aae7c84730ba0088727d184ca8" alt="image-20230328161826074"></p>
<h2 id="查询指定字符串第N次出现的索引"><a href="#查询指定字符串第N次出现的索引" class="headerlink" title="查询指定字符串第N次出现的索引"></a>查询指定字符串第N次出现的索引</h2><p>使用 <code>org.apache.commons.lang.StringUtils</code> 下的 ordinalIndexOf方法</p>
<figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="type">int</span> <span class="variable">i</span> <span class="operator">=</span> StringUtils.ordinalIndexOf(<span class="string">&quot;张三,李四,王五,张三,李四,王五,张三,李四,王五&quot;</span>, <span class="string">&quot;张三&quot;</span>, <span class="number">2</span>);</span><br><span class="line">        </span><br><span class="line">System.out.println(i);</span><br></pre></td></tr></table></figure>

<p><img src="https://s1.vika.cn/space/2023/03/28/510a7f4b0e5148a38f0bd34e838cf402" alt="image-20230328161949054"></p>
<p>若未找到则返回 -1</p>
<p><img src="https://s1.vika.cn/space/2023/03/28/ef76bffe863c4237bcee34aa7016068e" alt="image-20230328161908326"></p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><span class="line">/**</span><br><span class="line">     * 在指定字符串中查询某个字符串出现的第 n 次位置</span><br><span class="line">     *</span><br><span class="line">     * @param str     指定字符串</span><br><span class="line">     * @param target  要查询的字符串</span><br><span class="line">     * @param n       第 n 次出现的位置</span><br><span class="line">     * @return        如果找到了，返回第 n 次出现的位置；否则返回 -1。</span><br><span class="line">     */</span><br><span class="line">    public static int getIndexOf(String str, String target, int n) &#123;</span><br><span class="line">        if (str == null || target == null || n &lt;= 0) &#123;</span><br><span class="line">            return -1;</span><br><span class="line">        &#125;</span><br><span class="line"></span><br><span class="line">        int index = str.indexOf(target); // 找到第一次出现的位置</span><br><span class="line"></span><br><span class="line">        // 开始找第 n 次出现的位置</span><br><span class="line">        for (int i = 2; i &lt;= n &amp;&amp; index != -1; i++) &#123;</span><br><span class="line">            index = str.indexOf(target, index + 1);</span><br><span class="line">        &#125;</span><br><span class="line"></span><br><span class="line">        return index;</span><br><span class="line">    &#125;</span><br></pre></td></tr></table></figure>



<figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// 指定字符串</span></span><br><span class="line"><span class="type">String</span> <span class="variable">str</span> <span class="operator">=</span> <span class="string">&quot;Talk Is Cheap, Show Me The Code&quot;</span>;</span><br><span class="line"><span class="comment">// 需要定位的可以是字符也可以是字符串，本示例是用的字符 &#x27;C&#x27;，需使用 String.valueOf() 方法转为字符串</span></span><br><span class="line"><span class="type">String</span> <span class="variable">target</span> <span class="operator">=</span> String.valueOf(<span class="string">&#x27;C&#x27;</span>);</span><br><span class="line"><span class="comment">// 在 str 中查询 target 出现的第 2 次位置</span></span><br><span class="line"><span class="type">int</span> <span class="variable">index</span> <span class="operator">=</span> getIndexOf(str, target, <span class="number">2</span>);</span><br><span class="line">System.out.println(index);</span><br></pre></td></tr></table></figure>

<p><img src="https://s1.vika.cn/space/2023/03/28/d6699d3eac4f4f9b9a340394ca27c805" alt="image-20230328181902986"></p>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/JAVA/" rel="tag">JAVA</a></li></ul>

    </footer>
  </div>

    
 
   
  
</article>

    
    <article
  id="post-SVN 安装配置"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2023/03/19/SVN%20%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/"
    >SVN 安装配置</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2023/03/19/SVN%20%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/" class="article-date">
  <time datetime="2023-03-19T07:04:00.000Z" itemprop="datePublished">2023-03-19</time>
</a> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B/">安装教程</a>
  </div>
   
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h1 id="SVN-安装配置"><a href="#SVN-安装配置" class="headerlink" title="SVN 安装配置"></a>SVN 安装配置</h1><p>SVN的安装分为2部分，第一部分是服务端安装，第二部分的客户端安装。</p>
<p>一般情况下，只需要安装客户端即可，因为在企业中服务端是由运维来维护的，我们只需要开通一个账号即可。</p>
<p>常用的客户端又分为两种：安装在操作系统中的客户端、Eclipse的插件</p>
<h2 id="一、服务端安装"><a href="#一、服务端安装" class="headerlink" title="一、服务端安装"></a>一、服务端安装</h2><p>官网下载服务端 <a target="_blank" rel="noopener" href="https://www.visualsvn.com/server/download/">visualsvn</a> </p>
<p>也可直接通过链接 <a target="_blank" rel="noopener" href="https://www.visualsvn.com/files/VisualSVN-Server-5.1.1-x64.msi">https://www.visualsvn.com/files/VisualSVN-Server-5.1.1-x64.msi</a> 下载</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/5be4c48fafc14347b3080c26eef226ae" alt="image-20230205084005275"></p>
<p>下载的程序如下所示,双击运行安装</p>
<p>无脑下一步</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/849c918120754c209d525dfccf7c0d87" alt="image-20230205084238027"></p>
<p>接受协议，无脑下一步</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/db3126d897dc4979ad4cfafb77552635" alt="image-20230205084454087"></p>
<p>保留默认设置（选择visualVSN服务器和管理控制台），并添加到系统环境变量</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/e048000469c24fe4a6695c431aed1538" alt="image-20230205084619412"></p>
<p>安装配置</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/f3c550e2d18f4e11a0431c0485fa8035" alt="image-20230205090521727"></p>
<p>若端口被占用，可调整为其他端口，例如 8843</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/008b1bb25f6d4545a05af0c372b58c4d" alt="image-20230205090726009"></p>
<p>可使用cmd命令 <code>netstat -oan</code> 查看被占用端口的程序，可以看到 443端口被 pid 为 4460的进程占用</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/e1e076f126ec483cb2a8e1d7048ab0fb" alt="image-20230205085746068"></p>
<p>使用 <code>tasklist /FI &quot;PID eq xx&quot;</code> 查看详细进程信息   xx为要查看的pid</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/26b0d8aab4d341089685cc8f9755f567" alt="image-20230205090241358"></p>
<p>相关参考</p>
<blockquote>
<p><a target="_blank" rel="noopener" href="https://blog.csdn.net/Jw_1201/article/details/124846832">https://blog.csdn.net/Jw_1201/article/details/124846832</a></p>
<p><a target="_blank" rel="noopener" href="https://www.cnblogs.com/cyyljw/p/6918037.html">https://www.cnblogs.com/cyyljw/p/6918037.html</a></p>
</blockquote>
<p>继续无脑下一步</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/183b86f95ea344c2ae5519d0e4484167" alt="image-20230205091241962"></p>
<p>选择服务器对用户进行身份验证的方式</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/6d741af93849447b8fdeca9f7b6e6ff3" alt="image-20230205091638977"></p>
<p>至此，安装向导已完成，点击Install 安装即可</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/819ca28261584700a062d67eb11f3133" alt="image-20230205091803713"></p>
<p>安装好后点击 Finish 即可</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/081a7288266a4bdc9c572e86c66c7c42" alt="image-20230205091940283"></p>
<h2 id="二、客户端安装"><a href="#二、客户端安装" class="headerlink" title="二、客户端安装"></a>二、客户端安装</h2><p>官网下载客户端 <a target="_blank" rel="noopener" href="https://www.visualsvn.com/visualsvn/download/">visualsvn</a></p>
<p>也可通过链接  <a target="_blank" rel="noopener" href="https://www.visualsvn.com/files/TortoiseSVN-1.14.5.29465-x64-svn-1.14.2.msi">https://www.visualsvn.com/files/TortoiseSVN-1.14.5.29465-x64-svn-1.14.2.msi</a>  进行下载</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/dfc095b375214f74bf4686cda5532d41" alt="image-20230205093835931"></p>
<p>双击运行</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/718cd37ec6ba40d684db67af9c1d6563" alt="image-20230205094043724"></p>
<p>无脑下一步</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/a3782abf91054b3a9b413edfe7b08932" alt="image-20230205094113919"></p>
<p>继续无脑下一步</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/a307588cf1eb47ccb38a2725b2c41b00" alt="image-20230205094441591"></p>
<p>一路无脑下一步</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/d2470a8c3bd14776b5aae8d9030bf103" alt="image-20230205094532646"></p>
<p>点击 Install 安装即可</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/da473b10603948bc806da597a8121a99" alt="image-20230205094610279"></p>
<h2 id="三、SVN-服务配置与使用"><a href="#三、SVN-服务配置与使用" class="headerlink" title="三、SVN 服务配置与使用"></a>三、SVN 服务配置与使用</h2><p>启动 VisualSVN Server Manager</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/9f8e01bbc2754291a83383e623ff87c4" alt="image-20230205094913369"></p>
<p>在 Repositories 上右键 &gt; 新建 &gt; Repository</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/0aaddd20c253446086c506f942402424" alt="image-20230205095205241"></p>
<p>选择常规FSFS存储库,默认保持不动，无脑下一步</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/787e4dac867e45a8a08df82a6a4dc04b" alt="image-20230205095305736"></p>
<p>输入仓库名称</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/b6c48b3051384872a4b088ac1368617f" alt="image-20230205095447097"></p>
<p>可根据需要选择</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/f9253ecf18d74ae297b854f3c9237e85" alt="image-20230205095816648"></p>
<p><img src="https://s1.vika.cn/space/2023/03/20/99791d3777b949de805c291d458756c1" alt="image-20230205100045808"></p>
<p>创建新存储库，点击Create进行创建</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/64a5b4c45956465ebd611951dc56c5a8" alt="image-20230205100146911"></p>
<p>创建完成后会提示仓库地址</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/43ea1230a26a41998edf9395baf029ab" alt="image-20230205100327545"></p>
<p>在服务端也能看到新创建的仓库</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/6614346059ab489e8af5d79d5b706c70" alt="image-20230205100444275"></p>
<p>在Users 上右键添加用户</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/aee65899f43840258e414cf40ba66cd7" alt="image-20230205100543811"></p>
<p>设置用户名密码</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/bc2fcaacaa2744e59d8a7454054b4760" alt="image-20230205100707354"></p>
<p>若密码不符合复杂度要求，点击继续此设置</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/f00896991a53410d86cde5f2a933e1c4" alt="image-20230205100805631"></p>
<p>新用户创建成功</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/83252e9688cf405abb03588547184bdc" alt="image-20230205100846952"></p>
<p>在 Groups 上 创建组 或者新建 &gt; Group</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/dad029427e344dc8ae5268a03f8f6ac7" alt="image-20230205101106818"></p>
<p>设置组名称，选择该组下的成员</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/8fe9b46a15064af2a641c85e0af0898c" alt="image-20230205101234420"></p>
<p>创建好后如下所示</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/37cea76989d24ada914ac345c191a637" alt="image-20230205101405882"></p>
<p>设置权限</p>
<p>在仓库上右键 &gt; Properties</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/8c3dee950925470c80ea8c82a9f8e33d" alt="image-20230205101540976"></p>
<p>可以选择赋予用户不同的权限</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/24c61d4661f94a66906b4a7177579e61" alt="image-20230205101837575"></p>
<p>从远程拉取代码并上传本地文件</p>
<p>创建一个测试目录</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/83abb49ae4964ab3b4ec9fa9fdb05ed1" alt="image-20230205102045196"></p>
<p>复制参考地址</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/808e490442c54f5aa24a9e611ca79108" alt="image-20230205102247506"></p>
<p>在任意目录右键，SVN Checkout 拉取仓库代码</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/8b87744e8f7f4004aa8eebfdb793fdcb" alt="image-20230205102352511"></p>
<p>输入仓库地址和本地保存目录</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/5c9f8f9a96954a68861a6f4d7ec97f83" alt="image-20230205102535027"></p>
<p>输入有权限访问的账号密码</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/da1089d929f44d139efd1e559fb96b05" alt="image-20230205102631117"></p>
<p>代码拉取成功后本地会生成指定目录，由于我的目前时空仓库，只有一个 .svn 的隐藏目录</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/9549957d344946c6a967d9956e3b0b5d" alt="image-20230205102811583"></p>
<p>在该目录创建两个文件，模拟要上传的本地文件</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/c5a53fb27f7a4c33965d314c4cb1d9c5" alt="image-20230205103018496"></p>
<p>在该目录右键 &gt; SVN Commit 提交文件</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/39f2b32262904129a88ba9882d6e31eb" alt="image-20230205103120010"></p>
<p>本地创建了两个文件，先只提交一个进行测试</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/039b9c7791cd4af28c7a0fefa3dbd248" alt="image-20230205103413241"></p>
<p>提交成功</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/0b887e14053248929e8f6a713436574a" alt="image-20230205103500891"></p>
<p>刷新一下仓库，可以看到文件上传成功</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/ff62bcc0ba6f457e8b0f13dbd2a9a60b" alt="image-20230205103550836"></p>
<p>也可以在浏览器查看</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/b179a171024344b89ef1835415c3841d" alt="image-20230205103655248"></p>
<p>输入账号密码进行访问，可以看到刚才上传的文件</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/720e90062df04fa9b9f9d57e837e0c49" alt="image-20230205103752122"></p>
<p>往远程仓库导入本地目录及文件</p>
<p>在本地创建目录及文件 </p>
<p>此处我创建了个 test2目录，test2中包含 test2.1目录和 test2.txt ,test2.1目录中包含 test2.1.1.txt和test2.1.2.txt</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/83da1267f48f49dba7d03dbd901aaa10" alt="image-20230205104619766"></p>
<p>在 test2 目录内右键 &gt; TortoiseSVN &gt; Import </p>
<p><img src="https://s1.vika.cn/space/2023/03/20/af0f7888c88048d59140aa7f74a59328" alt="image-20230205104832893"></p>
<p>注意导入的仓库地址要在远程目录的后面加上本地目录名称，这样才能保持远程目录与本地目录层次结构一致</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/0fa80a43d1924c9b8d84440c93c5a11a" alt="image-20230205105022669"></p>
<p>导入成功</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/252993340f3d471d8be3911970a701ab" alt="image-20230205105211304"></p>
<p>刷线一下仓库</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/16d7c644e4974d4fa62f058a5dfb3c2c" alt="image-20230205105310142"></p>
<p>参考</p>
<blockquote>
<p><a target="_blank" rel="noopener" href="https://blog.csdn.net/Ruishine/article/details/121467191">https://blog.csdn.net/Ruishine/article/details/121467191</a></p>
</blockquote>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/svn/" rel="tag">svn</a></li></ul>

    </footer>
  </div>

    
 
   
  
</article>

    
    <article
  id="post-svn E230001 Server SSL certificate verification failed certificate issued for a different hostname, issuer is not tru"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2023/03/19/svn%20E230001%20Server%20SSL%20certificate%20verification%20failed%20certificate%20issued%20for%20a%20different%20hostname,%20issuer%20is%20not%20tru/"
    >Server SSL certificate verification failed  certificate issued for a different hostname, issuer is not trusted</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2023/03/19/svn%20E230001%20Server%20SSL%20certificate%20verification%20failed%20certificate%20issued%20for%20a%20different%20hostname,%20issuer%20is%20not%20tru/" class="article-date">
  <time datetime="2023-03-19T06:58:00.000Z" itemprop="datePublished">2023-03-19</time>
</a> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E8%B8%A9%E5%9D%91/">踩坑</a>
  </div>
   
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h1 id="svn-E230001-Server-SSL-certificate-verification-failed-certificate-issued-for-a-different-hostname-issuer-is-not-trusted"><a href="#svn-E230001-Server-SSL-certificate-verification-failed-certificate-issued-for-a-different-hostname-issuer-is-not-trusted" class="headerlink" title="svn: E230001: Server SSL certificate verification failed: certificate issued for a different hostname, issuer is not trusted"></a>svn: E230001: Server SSL certificate verification failed: certificate issued for a different hostname, issuer is not trusted</h1><p>意思是服务器的SSL证书验证失败，证书为不同主机名颁发。</p>
<p>解决方法：</p>
<p>用管理员身份打开CMD并执行如下命令</p>
<pre><code>svn ls https://ip/svn/xxxx   将ip 替换为你要访问的svn仓库的ip,将xxxx 替换为项目目录地址
</code></pre>
<p>然后会让你选择R（拒绝）、t（暂时接受）、或者p（永久接受）</p>
<p>我们输入p后按回车，会提示输入当前电脑用户的密码，然后提示输入svn的账号密码，按着提示操作就行</p>
<p>都输入完成后，回车就可以解决了</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/545f854b0c764afea9ae5094797daf4b" alt="image-20230205111135336"></p>
<blockquote>
<p>CSDN博主「夜月闪耀<br>原文链接：<a target="_blank" rel="noopener" href="https://blog.csdn.net/weixin_45936094/article/details/126029876">https://blog.csdn.net/weixin_45936094/article/details/126029876</a></p>
</blockquote>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/svn/" rel="tag">svn</a></li></ul>

    </footer>
  </div>

    
 
   
  
</article>

    
    <article
  id="post-CentOs7安装Sqlserver2019"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2023/03/19/CentOs7%E5%AE%89%E8%A3%85Sqlserver2019/"
    >CentOs7安装Sqlserver2019</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2023/03/19/CentOs7%E5%AE%89%E8%A3%85Sqlserver2019/" class="article-date">
  <time datetime="2023-03-19T06:47:00.000Z" itemprop="datePublished">2023-03-19</time>
</a> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B/">安装教程</a>
  </div>
   
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h1 id="CentOs7安装Sqlserver2019"><a href="#CentOs7安装Sqlserver2019" class="headerlink" title="CentOs7安装Sqlserver2019"></a>CentOs7安装Sqlserver2019</h1><p>特别鸣谢</p>
<blockquote>
<p>哔哩哔哩博主 ： <a target="_blank" rel="noopener" href="https://space.bilibili.com/457109942">程序员小墨</a></p>
<p><a target="_blank" rel="noopener" href="https://www.bilibili.com/video/av844976641">https://www.bilibili.com/video/av844976641</a></p>
</blockquote>
<p>下载存储卡配置文件</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo</span><br></pre></td></tr></table></figure>

<p><img src="https://img2023.cnblogs.com/blog/2233039/202311/2233039-20231114225046221-827719863.png" alt="image-20231114225038801"></p>
<h2 id="一、安装SQLServer"><a href="#一、安装SQLServer" class="headerlink" title="一、安装SQLServer"></a>一、安装SQLServer</h2><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo yum install -y mssql-server</span><br></pre></td></tr></table></figure>



<p><img src="https://img2023.cnblogs.com/blog/2233039/202311/2233039-20231114225126251-1129437727.png" alt="image-20231114225125707"></p>
<p>若安装过程中出现&#x2F;var&#x2F;run&#x2F;yum.pid 已被锁定可以使用以下命令解除，没有请忽略</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">rm -f /var/run/yum.pid</span><br></pre></td></tr></table></figure>

<p><img src="https://img2023.cnblogs.com/blog/2233039/202311/2233039-20231114225157876-431674601.png" alt="image-20231114225148396"></p>
<p>选择要安装的版本 </p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo /opt/mssql/bin/mssql-conf setup</span><br></pre></td></tr></table></figure>

<p><img src="https://img2023.cnblogs.com/blog/2233039/202311/2233039-20231114225223457-330632401.png" alt="image-20231114225222992"></p>
<p>选择语言</p>
<p><img src="https://img2023.cnblogs.com/blog/2233039/202311/2233039-20231114225300454-929037816.png" alt="image-20231114225250984"></p>
<p>设置系统管理员 sa 的密码，要求大于8个字符且包含大小写字母，符号中至少三种</p>
<p><img src="https://img2023.cnblogs.com/blog/2233039/202311/2233039-20231114225332856-414415724.png" alt="image-20231114225323307"></p>
<p>可以查看下服务是否正常运行</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">systemctl status mssql-server</span><br></pre></td></tr></table></figure>

<p><img src="https://img2023.cnblogs.com/blog/2233039/202311/2233039-20231114225435806-338194485.png" alt="image-20231114225435253"></p>
<p>打开SQLServer所需端口</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent</span><br><span class="line">sudo firewall-cmd --reload</span><br></pre></td></tr></table></figure>

<p><img src="https://img2023.cnblogs.com/blog/2233039/202311/2233039-20231114225507325-1295485313.png" alt="image-20231114225457954"></p>
<h2 id="二，安装SQLServer-命令行工具"><a href="#二，安装SQLServer-命令行工具" class="headerlink" title="二，安装SQLServer 命令行工具"></a>二，安装SQLServer 命令行工具</h2><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo</span><br></pre></td></tr></table></figure>

<p><img src="https://img2023.cnblogs.com/blog/2233039/202311/2233039-20231114225531517-1685059374.png" alt="image-20231114225530939"></p>
<p>删除所有旧的unixODBC包，避免因早期安装的mssql-tools出问题</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo yum remove unixODBC-utf16 unixODBC-utf16-devel</span><br></pre></td></tr></table></figure>

<p>安装mssql-tools</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo yum install -y mssql-tools unixODBC-devel</span><br></pre></td></tr></table></figure>

<p><img src="https://img2023.cnblogs.com/blog/2233039/202311/2233039-20231114225555315-1309199307.png" alt="image-20231114225554785"></p>
<p>添加环境变量</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">echo &#x27;export PATH=&quot;$PATH:/opt/mssql-tools/bin&quot;&#x27; &gt;&gt; ~/.bash_profile</span><br><span class="line">echo &#x27;export PATH=&quot;$PATH:/opt/mssql-tools/bin&quot;&#x27; &gt;&gt; ~/.bashrc</span><br><span class="line">source ~/.bashrc</span><br></pre></td></tr></table></figure>

<p><img src="https://img2023.cnblogs.com/blog/2233039/202311/2233039-20231114225712138-233423306.png" alt="image-20231114225704762"></p>
<p>创建个数据库进行测试服务正常</p>
<p>使用管理员账号进行链接，此处我设置的密码为 An0206_SQLServer2019</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sqlcmd -S localhost -U SA -P &#x27;&lt;YourPassword&gt;&#x27;</span><br></pre></td></tr></table></figure>

<p><img src="https://img2023.cnblogs.com/blog/2233039/202311/2233039-20231114225731628-1193215142.png" alt="image-20231114225731220"></p>
<p>创建个数据库并查询</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">CREATE DATABASE TestDB</span><br><span class="line">SELECT Name from sys.Databases</span><br><span class="line">GO</span><br></pre></td></tr></table></figure>

<p><img src="https://img2023.cnblogs.com/blog/2233039/202311/2233039-20231114225759377-693652455.png" alt="image-20231114225749979"></p>
<p>使用 <code>exit</code> 命令退出终端</p>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/CentOs/" rel="tag">CentOs</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/Sqlserver/" rel="tag">Sqlserver</a></li></ul>

    </footer>
  </div>

    
 
   
  
</article>

    
    <article
  id="post-IDEA报错：Problems while loading file history"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2023/03/19/IDEA%E6%8A%A5%E9%94%99%EF%BC%9AProblems%20while%20loading%20file%20history/"
    >IDEA报错：Problems while loading file history</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2023/03/19/IDEA%E6%8A%A5%E9%94%99%EF%BC%9AProblems%20while%20loading%20file%20history/" class="article-date">
  <time datetime="2023-03-19T06:44:00.000Z" itemprop="datePublished">2023-03-19</time>
</a> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E8%B8%A9%E5%9D%91/">踩坑</a>
  </div>
   
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h1 id="IDEA报错：Problems-while-loading-file-history"><a href="#IDEA报错：Problems-while-loading-file-history" class="headerlink" title="IDEA报错：Problems while loading file history"></a>IDEA报错：Problems while loading file history</h1><p><img src="https://s1.vika.cn/space/2023/03/20/d4633520a6f243c8a383541399568a4f" alt="image-20230207095230295"></p>
<p>CleanUp一下就好了</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/17d0d17abdc340f9a573cbe020a847b3" alt="image-20230207095350084"></p>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/IDEA/" rel="tag">IDEA</a></li></ul>

    </footer>
  </div>

    
 
   
  
</article>

    
    <article
  id="post-调整Windows进入系统等待时间"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2023/03/19/%E8%B0%83%E6%95%B4Windows%E8%BF%9B%E5%85%A5%E7%B3%BB%E7%BB%9F%E7%AD%89%E5%BE%85%E6%97%B6%E9%97%B4/"
    >调整Windows进入系统等待时间</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2023/03/19/%E8%B0%83%E6%95%B4Windows%E8%BF%9B%E5%85%A5%E7%B3%BB%E7%BB%9F%E7%AD%89%E5%BE%85%E6%97%B6%E9%97%B4/" class="article-date">
  <time datetime="2023-03-19T06:41:00.000Z" itemprop="datePublished">2023-03-19</time>
</a> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E5%B0%8F%E6%8A%80%E8%83%BD/">小技能</a>
  </div>
   
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h1 id="调整Windows进入系统等待时间"><a href="#调整Windows进入系统等待时间" class="headerlink" title="调整Windows进入系统等待时间"></a>调整Windows进入系统等待时间</h1><p>此电脑右击 》 属性 </p>
<p><img src="https://s1.vika.cn/space/2023/03/20/ff933ffab6b14563ae1aeb788bf8da52" alt="image-20230209195201061"></p>
<p>高级系统设置</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/c2cf41a1ddcf4b22b2d7f2c6331bc18f" alt="image-20230209195234005"></p>
<p>启动和故障修复 》 设置</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/fc330ebee7914405b3a318932d4d965c" alt="image-20230209195317088"></p>
<p>调整显示操作系统列表的时间即可</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/00093a8de7b0498391355d69577a555f" alt="image-20230209195351634"></p>
<p>删除多余引导项</p>
<p>Win + R 调出 运行窗口</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/36e8af094b9c411b8711c468c9147daa" alt="image-20230209195624801"></p>
<p>在引导界面可以选择删除多余的引导项，由于我这里只有一个引导项，所以无法删除</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/f3fcae06f0a84ffbacc413992d258f3d" alt="image-20230209195606460"></p>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/Windows%E6%8A%80%E5%B7%A7/" rel="tag">Windows技巧</a></li></ul>

    </footer>
  </div>

    
 
   
  
</article>

    
    <article
  id="post-Windows11无法关机解决方案"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2023/03/19/Windows11%E6%97%A0%E6%B3%95%E5%85%B3%E6%9C%BA%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/"
    >Windows11 无法关机解决方案</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2023/03/19/Windows11%E6%97%A0%E6%B3%95%E5%85%B3%E6%9C%BA%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/" class="article-date">
  <time datetime="2023-03-19T06:30:00.000Z" itemprop="datePublished">2023-03-19</time>
</a> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E5%B0%8F%E6%8A%80%E8%83%BD/">小技能</a>
  </div>
   
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h1 id="Windows11-无法关机解决方案"><a href="#Windows11-无法关机解决方案" class="headerlink" title="Windows11 无法关机解决方案"></a>Windows11 无法关机解决方案</h1><p><strong>问题描述：升级后的Win11 点关机，几秒钟后再次进入桌面，无法关机</strong></p>
<h2 id="解决步骤"><a href="#解决步骤" class="headerlink" title="解决步骤"></a>解决步骤</h2><p>在搜索栏搜索 电源，打开选择电源计划</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/c80993e293664e2294edb1b81fa8ab23" alt="image-20230209204145782"></p>
<p>打开选择电源按钮的功能</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/17fa98ef38c943f0b7af3b0a954a5cd5" alt="image-20230209204325166"></p>
<p>在关机设置里取消勾选启动快速启动功能</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/5a6d444359304d62a5450e047a435164" alt="image-20230209204413267"></p>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/Windows%E6%8A%80%E5%B7%A7/" rel="tag">Windows技巧</a></li></ul>

    </footer>
  </div>

    
 
   
  
</article>

    
    <article
  id="post-制作U盘头像图标"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2023/03/19/%E5%88%B6%E4%BD%9CU%E7%9B%98%E5%A4%B4%E5%83%8F%E5%9B%BE%E6%A0%87/"
    >如何制作U盘头像图标</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2023/03/19/%E5%88%B6%E4%BD%9CU%E7%9B%98%E5%A4%B4%E5%83%8F%E5%9B%BE%E6%A0%87/" class="article-date">
  <time datetime="2023-03-19T06:25:00.000Z" itemprop="datePublished">2023-03-19</time>
</a> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E5%B0%8F%E6%8A%80%E8%83%BD/">小技能</a>
  </div>
   
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h1 id="如何制作U盘头像图标"><a href="#如何制作U盘头像图标" class="headerlink" title="如何制作U盘头像图标"></a>如何制作U盘头像图标</h1><p>首先利用 <a target="_blank" rel="noopener" href="https://www.bitbug.net/">ico在线制作工具</a>  制作所需的iso文件，选择将要作为U盘图标的照片，生成ico图标</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/094eace437e34041b0d2005f684ef3c0" alt="image-20230209202544515"></p>
<p>然后在桌面新建个文本文档，填入一下内容,将 xxxx 替换为刚才下载的iso 图片名称</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">[autorun]</span><br><span class="line">icon=xxxx.ico</span><br></pre></td></tr></table></figure>

<p>将文本文件重命名为 <code>autorun.inf</code> ,注意后缀名为 <code>inf</code>  不是<code>txt</code></p>
<p><img src="https://s1.vika.cn/space/2023/03/20/6dc3dd1da37640b8a124df9674a221f4" alt="image-20230209202952683"></p>
<p>查看文件的时候显示后缀名</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/ab03a6e6d2534aa2ade0973ea2f61466" alt="image-20230209202923183"></p>
<p>将ico图片和 autorun.inf 文件放到U盘根目录，可以将这两个文件设为只读，隐藏</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/fc26ffa2ef0c47f598d352e9cebb74aa" alt="image-20230209203353633"></p>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/U%E7%9B%98/" rel="tag">U盘</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/Windows%E6%8A%80%E5%B7%A7/" rel="tag">Windows技巧</a></li></ul>

    </footer>
  </div>

    
 
   
  
</article>

    
    <article
  id="post-重装系统后需要做的事"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2023/03/19/%E9%87%8D%E8%A3%85%E7%B3%BB%E7%BB%9F%E5%90%8E%E9%9C%80%E8%A6%81%E5%81%9A%E7%9A%84%E4%BA%8B/"
    >重装系统前后需要做的事</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2023/03/19/%E9%87%8D%E8%A3%85%E7%B3%BB%E7%BB%9F%E5%90%8E%E9%9C%80%E8%A6%81%E5%81%9A%E7%9A%84%E4%BA%8B/" class="article-date">
  <time datetime="2023-03-19T06:17:00.000Z" itemprop="datePublished">2023-03-19</time>
</a> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E5%B0%8F%E6%8A%80%E8%83%BD/">小技能</a>
  </div>
   
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h1 id="重装系统前后需要做的事"><a href="#重装系统前后需要做的事" class="headerlink" title="重装系统前后需要做的事"></a>重装系统前后需要做的事</h1><h2 id="重装系统前需要做的事"><a href="#重装系统前需要做的事" class="headerlink" title="重装系统前需要做的事"></a>重装系统前需要做的事</h2><h3 id="1-1-重要资料备份"><a href="#1-1-重要资料备份" class="headerlink" title="1.1 重要资料备份"></a>1.1 重要资料备份</h3><p>重装系统前最重要的事情就是将重要资料进行备份，重装系统后C盘会被格式化，C盘以外的其他盘符文件可以选择保留，但为了安全起见，所有资料都建议进行备份，已安装的软件也可能造成损坏，快捷方式，服务项等会被清除，所以还是建议重装</p>
<p>我安装应用时习惯在推荐安装目录上直接修改盘符地址，这样查找软件时也方便快捷</p>
<p>安装在C盘以外的软件，可以尝试找到应用程序安装位置，点击运行即可，一般会存放在以该软件命名的文件夹里或者其bin目录内</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/55be9113e97a48cd9a3b756cc7942b6a" alt="image-20230204160318563"></p>
<p>找到应用程序后可为将其固定到开始菜单或创建快捷方式，操作如下：</p>
<p>选中应用程序右键 &gt; 显示更多选项 &gt; 创建快捷方式</p>
<p>选中应用程序右键 &gt; 显示更多选项 &gt; 发送到 &gt; 桌面快捷方式</p>
<h3 id="1-2-必要工具准备"><a href="#1-2-必要工具准备" class="headerlink" title="1.2 必要工具准备"></a>1.2 必要工具准备</h3><p>既然要重装系统，当然要准备好要按照的系统镜像，可以去官网下载ISO镜像，或者利用U盘制作PE系统，推荐后者</p>
<p>重装系统前建议提前下载好相应的网卡驱动或者安装 <a target="_blank" rel="noopener" href="https://www.sysceo.com/Software-softwarei-id-245.html">驱动总裁网卡版</a>，<a target="_blank" rel="noopener" href="http://dm.weishi.360.cn/home.html">360驱动大师网卡版</a> 等第三方驱动工具，防止重装系统后因网卡驱动缺失导致联不了网的问题</p>
<p>若重装后真的出现网络问题，可使用手机共享网络解燃眉之急，当然前提是需要有一根可以连接手机的数据线</p>
<p>操作方式（本人机型 ViVO S15 Pro）</p>
<p>打开个人热点 》 其他共享方式 》 通过USB共享网络  （亲测蓝牙不好使）</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/86c565c02ef4415c80751f460bd8a0b1" style="zoom:33%;" /><img src="https://s1.vika.cn/space/2023/03/20/676c6ebbf0b54c358f98832a5cfae231" alt="image-20230208083156510" style="zoom:33%;" /></p>
<p>电脑出现这个图标就代表链接成功，电脑可以使用手机热点上网了</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/2b5acff806d041e2a2adf9386c276d5d" alt="image-20230208083215007"></p>
<h2 id="重装系统后需要做的事"><a href="#重装系统后需要做的事" class="headerlink" title="重装系统后需要做的事"></a>重装系统后需要做的事</h2><h3 id="2-1-更新驱动"><a href="#2-1-更新驱动" class="headerlink" title="2.1 更新驱动"></a>2.1 更新驱动</h3><p>用Windows自带的更新功能更新即可，为保证系统正常运行，系统安装后会自动检测更新</p>
<p>若想要更好的性能体验，可到各主板或电脑厂商官网自行下载驱动</p>
<h3 id="2-2-激活系统"><a href="#2-2-激活系统" class="headerlink" title="2.2 激活系统"></a>2.2 激活系统</h3><p>新装的系统需要重新激活，未激活的系统一些功能将不能正常使用，例如个性化中的显示桌面图标功能</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/1b84d69075c24b209f2b0c8280d2fca7" alt="image-20230204134539496"></p>
<p>激活步骤</p>
<p>以管理员方式打开cmd窗口，按步骤输入</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ipk W269N-WFGWX-YVC9B-4J6C9-T83GX</span><br></pre></td></tr></table></figure>

<p><img src="https://s1.vika.cn/space/2023/03/20/517379679df14cdc9fc182a9d343fe04" alt="image-20230204134756019"></p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">slmgr /skms kms.03k.org</span><br></pre></td></tr></table></figure>

<p><img src="https://s1.vika.cn/space/2023/03/20/4829ab23ec0a48fdbbd3fd5c0ea23ca3" alt="image-20230204134918443"></p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">slmgr /ato</span><br></pre></td></tr></table></figure>

<p><img src="https://s1.vika.cn/space/2023/03/20/b6ec452420044d48b12f1f05ba2021a6" alt="image-20230204140217365"></p>
<p>分分钟轻松激活</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/753c327f7cac47c89823bed7e17a8f92" alt="image-20230204140700295"></p>
<p>参考</p>
<blockquote>
<p><a target="_blank" rel="noopener" href="https://www.bilibili.com/video/BV1TL4y1B7iz">https://www.bilibili.com/video/BV1TL4y1B7iz</a></p>
<p>bilibili 博主：爱玩的安哥</p>
<p>用户id: 500892783</p>
</blockquote>
<blockquote>
<p> <a target="_blank" rel="noopener" href="https://zhuanlan.zhihu.com/p/81561582">KMS服务,一句命令激活windows&#x2F;office</a></p>
</blockquote>
<blockquote>
<p><a target="_blank" rel="noopener" href="https://www.cnblogs.com/it-tsz/p/9734585.html">kms可用激活服务器地址</a></p>
</blockquote>
<h3 id="2-3-系统设置"><a href="#2-3-系统设置" class="headerlink" title="2.3 系统设置"></a>2.3 系统设置</h3><h4 id="1、关闭-bitLocker-驱动器加密"><a href="#1、关闭-bitLocker-驱动器加密" class="headerlink" title="1、关闭 bitLocker 驱动器加密"></a>1、关闭 bitLocker 驱动器加密</h4><p>如果磁盘上有个锁的标志，就代表已经打开了 bitLocker 功能，如果电脑上没有什么国家机密的话，建议关闭该功能，因为一旦密码忘记，就可能导致磁盘无法访问，找回密码也靠运气</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/12a48cb36e844f0584209d4559df6947" alt="image-20230205081651033"></p>
<p>如果系统盘设置了该功能，开机启动时可能需要输入密码才能访问</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/2aa19fb9d0704decadc6f1cbddc8f2cf" alt="image-20230205081931913"></p>
<p>关闭步骤</p>
<p>找到 BitLocker 管理界面进行关闭即可 </p>
<p>设置 &gt; 隐私和安全性 &gt; BitLocker驱动器加密 </p>
<p><img src="https://s1.vika.cn/space/2023/03/20/6748500ef29d456c9dbcb270a1adfc3e" alt="image-20230205082859117"></p>
<p>或者 </p>
<p>控制面板 查看方式选择小图标 &gt; BitLocker驱动器加密</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/fea6797565cb4fdd9a05a5e527dc3692" alt="image-20230205082709174"></p>
<p>关闭时需要对数据进行解密，界面后即可关闭该功能</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/1fe18c04a4474576bff38e1a3a2abd43" alt="image-20230205083017041"></p>
<h4 id="2、设置虚拟内存"><a href="#2、设置虚拟内存" class="headerlink" title="2、设置虚拟内存"></a>2、设置虚拟内存</h4><blockquote>
<p><a target="_blank" rel="noopener" href="https://www.bilibili.com/video/BV1Zj411g73o">虚拟内存正确的认识和详细的设置</a></p>
</blockquote>
<p>内存释放工具RamMap</p>
<blockquote>
<p><a target="_blank" rel="noopener" href="https://pan.baidu.com/s/1nzANrpllrASNJnYhkp8ozg?pwd=1k2d">RamMap安装包</a></p>
</blockquote>
<p>使用方法：选择Empty选项卡,依次点击以下5个列表</p>
<p>亲测能释放20%内存</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/6bc38955885249baab73ba3380ca3223" alt="image-20230319135459785"></p>
<h3 id="2-4-操作优化"><a href="#2-4-操作优化" class="headerlink" title="2.4 操作优化"></a>2.4 操作优化</h3><h4 id="1、恢复-Win10-右键菜单功能，使用工具一键启用即可"><a href="#1、恢复-Win10-右键菜单功能，使用工具一键启用即可" class="headerlink" title="1、恢复 Win10 右键菜单功能，使用工具一键启用即可"></a>1、恢复 Win10 右键菜单功能，使用工具一键启用即可</h4><p><img src="https://s1.vika.cn/space/2023/03/20/f2c8d02d68e94b9e93ba76f00b48a9f4" alt="image-20230204164049642"></p>
<h4 id="2、调整文件存储设置"><a href="#2、调整文件存储设置" class="headerlink" title="2、调整文件存储设置"></a>2、调整文件存储设置</h4><p>更改应用、文档、音乐、图片、视频和地图的默认保存位置到其他盘符</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/5b0d8e74c6ab4a97a05a0cc37e84097d" alt="image-20230205083540913"></p>
<h4 id="3、调整软件默认文件保存位置"><a href="#3、调整软件默认文件保存位置" class="headerlink" title="3、调整软件默认文件保存位置"></a>3、调整软件默认文件保存位置</h4><p><img src="https://s1.vika.cn/space/2023/03/20/08ab99d1e6f440968747a30826db4c7f" alt="image-20230208081457556"></p>
<h4 id="4、查看文件时显示文件拓展名及隐藏的项目"><a href="#4、查看文件时显示文件拓展名及隐藏的项目" class="headerlink" title="4、查看文件时显示文件拓展名及隐藏的项目"></a>4、查看文件时显示文件拓展名及隐藏的项目</h4><p><img src="https://s1.vika.cn/space/2023/03/20/61b430bc62964c24b13d7d6878bd1b7b" alt="image-20230205093636326"></p>
<h4 id="5、设置自动隐藏任务栏"><a href="#5、设置自动隐藏任务栏" class="headerlink" title="5、设置自动隐藏任务栏"></a>5、设置自动隐藏任务栏</h4><p>有时候软件界面会被底部任务栏遮挡，影响操作，可设置自动隐藏任务栏，需要任务栏的时候，鼠标移动到任务栏处自动显示任务栏</p>
<p>鼠标点中任务栏右键 》 任务栏设置</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/e954967037b5481eb0fbc70555d31a6d" alt="image-20230209205338624"></p>
<p>在任务栏行为里设置自动隐藏任务栏</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/f1e09d24101b4bc1be1dfda6fa48e9b3" alt="image-20230209205446400"></p>
<h4 id="6、调整用户账户控制设置"><a href="#6、调整用户账户控制设置" class="headerlink" title="6、调整用户账户控制设置"></a>6、调整用户账户控制设置</h4><p>安装软件时总是提示是否允许，每次都通知烦人的，可以调整通知级别</p>
<p>搜索更改用户账户控制设置</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/b4f0c3443fe64f9ebb00fe5611a1fceb" alt="image-20230213203731181"></p>
<p>将通知级别拉到最低，从不通知</p>
<p><img src="https://s1.vika.cn/space/2023/03/20/7a571c0e768f4bffaf95f024144c2ca0" alt="image-20230213203827784"></p>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/%E5%A5%BD%E7%94%A8%E8%BD%AF%E4%BB%B6/" rel="tag">好用软件</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/%E6%8F%90%E5%8D%87%E6%95%88%E7%8E%87/" rel="tag">提升效率</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/%E9%87%8D%E8%A3%85%E7%B3%BB%E7%BB%9F/" rel="tag">重装系统</a></li></ul>

    </footer>
  </div>

    
 
   
  
</article>

    
  </article>
  

  
  <nav class="page-nav">
    
    <a class="extend prev" rel="prev" href="/page/5/">上一页</a><a class="page-number" href="/">1</a><span class="space">&hellip;</span><a class="page-number" href="/page/4/">4</a><a class="page-number" href="/page/5/">5</a><span class="page-number current">6</span><a class="page-number" href="/page/7/">7</a><a class="page-number" href="/page/8/">8</a><a class="extend next" rel="next" href="/page/7/">下一页</a>
  </nav>
  
</section>
</div>

      <footer class="footer">
  <div class="outer">
    <ul>
      <li>
        Copyrights &copy;
        2023
        <i class="ri-heart-fill heart_icon"></i> Shiguang
      </li>
    </ul>
    <ul>
      <li>
        
      </li>
    </ul>
    <ul>
      <li>
        
        
        <span>
  <span><i class="ri-user-3-fill"></i>Visitors:<span id="busuanzi_value_site_uv"></span></span>
  <span class="division">|</span>
  <span><i class="ri-eye-fill"></i>Views:<span id="busuanzi_value_page_pv"></span></span>
</span>
        
      </li>
    </ul>
    <ul>
      
    </ul>
    <ul>
      
    </ul>
    <ul>
      <li>
        <!-- cnzz统计 -->
        
        <script type="text/javascript" src='https://s9.cnzz.com/z_stat.php?id=1278069914&amp;web_id=1278069914'></script>
        
      </li>
    </ul>
  </div>
</footer>    
    </main>
    <div class="float_btns">
      <div class="totop" id="totop">
  <i class="ri-arrow-up-line"></i>
</div>

<div class="todark" id="todark">
  <i class="ri-moon-line"></i>
</div>

    </div>
    <aside class="sidebar on">
      <button class="navbar-toggle"></button>
<nav class="navbar">
  
  <div class="logo">
    <a href="/"><img src="/images/ayer-side.svg" alt="時光"></a>
  </div>
  
  <ul class="nav nav-main">
    
    <li class="nav-item">
      <a class="nav-item-link" href="/">主页</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/archives">归档</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/categories">分类</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/tags">标签</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/friends">友链</a>
    </li>
    
  </ul>
</nav>
<nav class="navbar navbar-bottom">
  <ul class="nav">
    <li class="nav-item">
      
      <a class="nav-item-link nav-item-search"  title="Search">
        <i class="ri-search-line"></i>
      </a>
      
      
      <a class="nav-item-link" target="_blank" href="/atom.xml" title="RSS Feed">
        <i class="ri-rss-line"></i>
      </a>
      
    </li>
  </ul>
</nav>
<div class="search-form-wrap">
  <div class="local-search local-search-plugin">
  <input type="search" id="local-search-input" class="local-search-input" placeholder="Search...">
  <div id="local-search-result" class="local-search-result"></div>
</div>
</div>
    </aside>
    <div id="mask"></div>

<!-- #reward -->
<div id="reward">
  <span class="close"><i class="ri-close-line"></i></span>
  <p class="reward-p"><i class="ri-cup-line"></i>请我喝杯咖啡吧~</p>
  <div class="reward-box">
    
    <div class="reward-item">
      <img class="reward-img" src="/images/alipay.jpg">
      <span class="reward-type">支付宝</span>
    </div>
    
    
    <div class="reward-item">
      <img class="reward-img" src="/images/wechat.jpg">
      <span class="reward-type">微信</span>
    </div>
    
  </div>
</div>
    
<script src="/js/jquery-3.6.0.min.js"></script>
 
<script src="/js/lazyload.min.js"></script>

<!-- Tocbot -->

<script src="https://cdn.staticfile.org/jquery-modal/0.9.2/jquery.modal.min.js"></script>
<link
  rel="stylesheet"
  href="https://cdn.staticfile.org/jquery-modal/0.9.2/jquery.modal.min.css"
/>
<script src="https://cdn.staticfile.org/justifiedGallery/3.8.1/js/jquery.justifiedGallery.min.js"></script>

<script src="/dist/main.js"></script>

<!-- ImageViewer -->
 <!-- Root element of PhotoSwipe. Must have class pswp. -->
<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">

    <!-- Background of PhotoSwipe. 
         It's a separate element as animating opacity is faster than rgba(). -->
    <div class="pswp__bg"></div>

    <!-- Slides wrapper with overflow:hidden. -->
    <div class="pswp__scroll-wrap">

        <!-- Container that holds slides. 
            PhotoSwipe keeps only 3 of them in the DOM to save memory.
            Don't modify these 3 pswp__item elements, data is added later on. -->
        <div class="pswp__container">
            <div class="pswp__item"></div>
            <div class="pswp__item"></div>
            <div class="pswp__item"></div>
        </div>

        <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->
        <div class="pswp__ui pswp__ui--hidden">

            <div class="pswp__top-bar">

                <!--  Controls are self-explanatory. Order can be changed. -->

                <div class="pswp__counter"></div>

                <button class="pswp__button pswp__button--close" title="Close (Esc)"></button>

                <button class="pswp__button pswp__button--share" style="display:none" title="Share"></button>

                <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>

                <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>

                <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR -->
                <!-- element will get class pswp__preloader--active when preloader is running -->
                <div class="pswp__preloader">
                    <div class="pswp__preloader__icn">
                        <div class="pswp__preloader__cut">
                            <div class="pswp__preloader__donut"></div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
                <div class="pswp__share-tooltip"></div>
            </div>

            <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">
            </button>

            <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)">
            </button>

            <div class="pswp__caption">
                <div class="pswp__caption__center"></div>
            </div>

        </div>

    </div>

</div>

<link rel="stylesheet" href="https://cdn.staticfile.org/photoswipe/4.1.3/photoswipe.min.css">
<link rel="stylesheet" href="https://cdn.staticfile.org/photoswipe/4.1.3/default-skin/default-skin.min.css">
<script src="https://cdn.staticfile.org/photoswipe/4.1.3/photoswipe.min.js"></script>
<script src="https://cdn.staticfile.org/photoswipe/4.1.3/photoswipe-ui-default.min.js"></script>

<script>
    function viewer_init() {
        let pswpElement = document.querySelectorAll('.pswp')[0];
        let $imgArr = document.querySelectorAll(('.article-entry img:not(.reward-img)'))

        $imgArr.forEach(($em, i) => {
            $em.onclick = () => {
                // slider展开状态
                // todo: 这样不好，后面改成状态
                if (document.querySelector('.left-col.show')) return
                let items = []
                $imgArr.forEach(($em2, i2) => {
                    let img = $em2.getAttribute('data-idx', i2)
                    let src = $em2.getAttribute('data-target') || $em2.getAttribute('src')
                    let title = $em2.getAttribute('alt')
                    // 获得原图尺寸
                    const image = new Image()
                    image.src = src
                    items.push({
                        src: src,
                        w: image.width || $em2.width,
                        h: image.height || $em2.height,
                        title: title
                    })
                })
                var gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, {
                    index: parseInt(i)
                });
                gallery.init()
            }
        })
    }
    viewer_init()
</script> 
<!-- MathJax -->

<!-- Katex -->

<!-- busuanzi  -->
 
<script src="/js/busuanzi-2.3.pure.min.js"></script>
 
<!-- ClickLove -->

<!-- ClickBoom1 -->

<!-- ClickBoom2 -->

<!-- CodeCopy -->
 
<link rel="stylesheet" href="/css/clipboard.css">
 <script src="https://cdn.staticfile.org/clipboard.js/2.0.10/clipboard.min.js"></script>
<script>
  function wait(callback, seconds) {
    var timelag = null;
    timelag = window.setTimeout(callback, seconds);
  }
  !function (e, t, a) {
    var initCopyCode = function(){
      var copyHtml = '';
      copyHtml += '<button class="btn-copy" data-clipboard-snippet="">';
      copyHtml += '<i class="ri-file-copy-2-line"></i><span>COPY</span>';
      copyHtml += '</button>';
      $(".highlight .code pre").before(copyHtml);
      $(".article pre code").before(copyHtml);
      var clipboard = new ClipboardJS('.btn-copy', {
        target: function(trigger) {
          return trigger.nextElementSibling;
        }
      });
      clipboard.on('success', function(e) {
        let $btn = $(e.trigger);
        $btn.addClass('copied');
        let $icon = $($btn.find('i'));
        $icon.removeClass('ri-file-copy-2-line');
        $icon.addClass('ri-checkbox-circle-line');
        let $span = $($btn.find('span'));
        $span[0].innerText = 'COPIED';
        
        wait(function () { // 等待两秒钟后恢复
          $icon.removeClass('ri-checkbox-circle-line');
          $icon.addClass('ri-file-copy-2-line');
          $span[0].innerText = 'COPY';
        }, 2000);
      });
      clipboard.on('error', function(e) {
        e.clearSelection();
        let $btn = $(e.trigger);
        $btn.addClass('copy-failed');
        let $icon = $($btn.find('i'));
        $icon.removeClass('ri-file-copy-2-line');
        $icon.addClass('ri-time-line');
        let $span = $($btn.find('span'));
        $span[0].innerText = 'COPY FAILED';
        
        wait(function () { // 等待两秒钟后恢复
          $icon.removeClass('ri-time-line');
          $icon.addClass('ri-file-copy-2-line');
          $span[0].innerText = 'COPY';
        }, 2000);
      });
    }
    initCopyCode();
  }(window, document);
</script>
 
<!-- CanvasBackground -->

<script>
  if (window.mermaid) {
    mermaid.initialize({ theme: "forest" });
  }
</script>


    
    

  </div>
</body>

</html>